home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / cellhtml / CellHtml.jar / MapCanvas.class (.txt) < prev    next >
Encoding:
Java Class File  |  2001-09-20  |  4.1 KB  |  206 lines

  1. import javax.microedition.lcdui.Canvas;
  2. import javax.microedition.lcdui.Font;
  3. import javax.microedition.lcdui.Graphics;
  4. import javax.microedition.lcdui.Image;
  5.  
  6. class MapCanvas extends Canvas {
  7.    public static int mode = 0;
  8.    public static boolean still = false;
  9.    public static int CanvasWidth;
  10.    public static int CanvasHeight;
  11.    // $FF: renamed from: VG VirtualGraphics
  12.    public static VirtualGraphics field_0;
  13.    public static Image LogoImage;
  14.    public static Image NoneImage;
  15.    public static Image TextImage;
  16.    public static Image SelectImage;
  17.    public static Image RAImage;
  18.    public static Image RCImage;
  19.    public static Image CBImage;
  20.    public static Image CCImage;
  21.    public static boolean LoadFlag = false;
  22.    public static Font font = null;
  23.    public static int fontHeight = 0;
  24.    public static String title1 = "Version 0.9a";
  25.    public static String title2 = "JShape Software";
  26.    public static int BaseY = 0;
  27.    public static boolean delayload = false;
  28.  
  29.    public void init() {
  30.       CanvasWidth = ((Canvas)this).getWidth();
  31.       CanvasHeight = ((Canvas)this).getHeight() - 10;
  32.       field_0 = new VirtualGraphics(CanvasWidth, CanvasHeight);
  33.  
  34.       try {
  35.          Image var1 = Image.createImage("/CellHtml.png");
  36.          LogoImage = Image.createImage(80, 32);
  37.          Graphics var2 = LogoImage.getGraphics();
  38.          var2.drawImage(var1, 0, 0, 20);
  39.          NoneImage = Image.createImage(32, 32);
  40.          var2 = NoneImage.getGraphics();
  41.          var2.drawImage(var1, -80, 0, 20);
  42.          SelectImage = Image.createImage(80, 22);
  43.          var2 = SelectImage.getGraphics();
  44.          var2.drawImage(var1, -112, 0, 20);
  45.          TextImage = Image.createImage(80, 22);
  46.          var2 = TextImage.getGraphics();
  47.          var2.drawImage(var1, -192, 0, 20);
  48.          RAImage = Image.createImage(17, 13);
  49.          var2 = RAImage.getGraphics();
  50.          var2.drawImage(var1, -272, 0, 20);
  51.          RCImage = Image.createImage(17, 13);
  52.          var2 = RCImage.getGraphics();
  53.          var2.drawImage(var1, -272, -13, 20);
  54.          CBImage = Image.createImage(17, 13);
  55.          var2 = CBImage.getGraphics();
  56.          var2.drawImage(var1, -289, 0, 20);
  57.          CCImage = Image.createImage(17, 13);
  58.          var2 = CCImage.getGraphics();
  59.          var2.drawImage(var1, -289, -13, 20);
  60.          Object var12 = null;
  61.          Object var4 = null;
  62.       } catch (Exception var3) {
  63.       }
  64.  
  65.       (new Schedule()).start();
  66.    }
  67.  
  68.    public static int strWidth(String var0) {
  69.       return font.stringWidth(var0);
  70.    }
  71.  
  72.    public static int strHeight() {
  73.       if (fontHeight == 0) {
  74.          fontHeight = font.getHeight() - 2;
  75.       }
  76.  
  77.       return fontHeight;
  78.    }
  79.  
  80.    public void showStringC(Graphics var1, String var2, int var3, int var4) {
  81.       var1.drawString(var2, var3, var4, 17);
  82.    }
  83.  
  84.    public void showBoldStringC(Graphics var1, String var2, int var3, int var4) {
  85.       var1.drawString(var2, var3, var4, 17);
  86.       var1.drawString(var2, var3 + 1, var4, 17);
  87.    }
  88.  
  89.    public void showStringL(Graphics var1, String var2, int var3, int var4) {
  90.       var1.drawString(var2, var3, var4, 20);
  91.    }
  92.  
  93.    public void showBoldStringL(Graphics var1, String var2, int var3, int var4) {
  94.       var1.drawString(var2, var3, var4, 20);
  95.       var1.drawString(var2, var3 + 1, var4, 20);
  96.    }
  97.  
  98.    public void paint(Graphics var1) {
  99.       if (font == null) {
  100.          font = var1.getFont();
  101.       }
  102.  
  103.       if (delayload) {
  104.          delayload = false;
  105.          new HTMLStream(CellHtml.pageurl);
  106.          Object var10 = null;
  107.          ((Canvas)this).repaint();
  108.          ((Canvas)this).serviceRepaints();
  109.       } else if (LoadFlag) {
  110.          String var9 = " loading ";
  111.          int var13 = strWidth(var9);
  112.          int var14 = (CanvasWidth - var13) / 2;
  113.          int var15 = (CanvasHeight - font.getHeight()) / 2;
  114.          var1.setColor(8421504);
  115.          var1.fillRect(var14, var15 - 2, var13, font.getHeight() + 4);
  116.          var1.setColor(0);
  117.          var1.drawRect(var14, var15 - 2, var13, font.getHeight() + 4);
  118.          this.showBoldStringC(var1, var9, CanvasWidth / 2, var15);
  119.       } else if (mode == 0) {
  120.          var1.setColor(16777215);
  121.          var1.fillRect(0, 0, CanvasWidth, CanvasHeight);
  122.          var1.setColor(13369446);
  123.          int var8 = CanvasWidth / 2;
  124.          var1.drawImage(LogoImage, var8, 10, 17);
  125.          int var11 = 40;
  126.          this.showBoldStringC(var1, title1, var8, var11);
  127.          var11 += strHeight();
  128.          this.showBoldStringC(var1, title2, var8, var11);
  129.       } else {
  130.          var1.setClip(0, 0, CanvasWidth, CanvasHeight);
  131.          field_0.render(var1, BaseY);
  132.          if (HTMLStream.hsvector.size() > 0) {
  133.             HotSpot var2 = (HotSpot)HTMLStream.hsvector.elementAt(HTMLStream.hsindex);
  134.             var1.setColor(HTMLStream.lcolor);
  135.             int var3 = var2.bx;
  136.             int var4 = var2.by + 1 - BaseY;
  137.             int var5 = var2.ex - 1;
  138.             int var6 = var2.ey + 1 - BaseY;
  139.             int var7 = var2.height;
  140.             var1.drawLine(var3, var4, var3, var4 + var7);
  141.             var1.drawLine(var3, var4, var3 + 1, var4);
  142.             var1.drawLine(var3, var4 + var7, var3 + 1, var4 + var7);
  143.             var1.drawLine(var5, var6, var5, var6 + var7);
  144.             var1.drawLine(var5, var6, var5 - 1, var6);
  145.             var1.drawLine(var5, var6 + var7, var5 - 1, var6 + var7);
  146.          }
  147.  
  148.       }
  149.    }
  150.  
  151.    public void keyProc(int var1) {
  152.       if (mode != 0) {
  153.          var1 = ((Canvas)this).getGameAction(var1);
  154.          if (var1 == 1) {
  155.             if (BaseY >= fontHeight) {
  156.                BaseY -= fontHeight;
  157.             } else {
  158.                BaseY = 0;
  159.             }
  160.          }
  161.  
  162.          if (var1 == 6) {
  163.             if (BaseY + CanvasHeight + fontHeight <= HTMLStream.vy) {
  164.                BaseY += fontHeight;
  165.             } else if (HTMLStream.vy > CanvasHeight) {
  166.                BaseY = HTMLStream.vy - CanvasHeight;
  167.             }
  168.          }
  169.  
  170.          if (HTMLStream.hsvector.size() > 0) {
  171.             if (var1 == 2 && HTMLStream.hsindex > 0) {
  172.                --HTMLStream.hsindex;
  173.             }
  174.  
  175.             if (var1 == 5 && HTMLStream.hsindex + 1 < HTMLStream.hsvector.size()) {
  176.                ++HTMLStream.hsindex;
  177.             }
  178.  
  179.             if (var1 == 2 || var1 == 5) {
  180.                HotSpot var2 = (HotSpot)HTMLStream.hsvector.elementAt(HTMLStream.hsindex);
  181.                if (var2.by < BaseY || var2.by > BaseY + CanvasHeight) {
  182.                   BaseY = var2.by;
  183.                }
  184.  
  185.                if (BaseY + CanvasHeight > HTMLStream.vy) {
  186.                   BaseY = HTMLStream.vy - CanvasHeight;
  187.                   if (BaseY < 0) {
  188.                      BaseY = 0;
  189.                   }
  190.                }
  191.             }
  192.          }
  193.  
  194.          ((Canvas)this).repaint();
  195.       }
  196.    }
  197.  
  198.    public void keyPressed(int var1) {
  199.       this.keyProc(var1);
  200.    }
  201.  
  202.    public void keyRepeated(int var1) {
  203.       this.keyProc(var1);
  204.    }
  205. }
  206.